package com.py.korona.ui.activities.room;

import java.util.List;
import android.app.Fragment;
import android.graphics.Bitmap;
import cz.destil.settleup.gui.MultiChoiceItem;

public interface RoomDetailFragmentListener {
    /**
     * Event fired when fragment is going to be closed
     * 
     * @param fragment
     */
    public void fragmentOnCloseAction(Fragment fragment);

    /**
     * Event fired when room is going to be deleted
     * 
     * @param fragment
     */
    public void fragmentOnDeleteAction(Fragment fragment);

    /**
     * 
     * Event fired when user is going to edit room
     * @param fragment
     */
    public void fragmentOnEditAction(Fragment fragment);

    /**
     * 
     * Event fired when user is going to exit edit mode
     * @param fragment
     */
    public void fragmentOnReadonlyAction(Fragment fragment);

    /**
     * @param fragment
     */
    public void fragmentOnSave(Fragment fragment);

    /**
     * 
     * @param fragment
     * @param name name of the room
     */
    public void fragmentSetRoomName(Fragment fragment, String name);

    /**
     * @param fragment
     * @param bitmap image of the room
     */
    public void fragmentSetRoomBitmap(Fragment fragment, Bitmap bitmap);

    /**
     * @param fragment
     * @param name description of the room
     */
    public void fragmentSetRoomDescription(Fragment fragment, String name);

    /**
     * @param fragment
     * @param rating
     */
    public void fragmentSetRoomRating(Fragment fragment, float rating);

    /**
     * @param fragment
     * @param listOfChangedCategories
     */
    public void fragmentSetRoomCategories(Fragment fragment, List<MultiChoiceItem> listOfChangedCategories);

    /**
     * @param fragment
     */
    public void fragmentOnViewAction(Fragment fragment);

    /**
     * @param fragment
     * @return
     */
    public String fragmentGetRoomCategories(Fragment fragment);

    /**
     * @param fragment
     * @return
     */
    public float fragmentGetRoomRating(Fragment fragment);

    /**
     * @param fragment
     * @return
     */
    public List<MultiChoiceItem> fragmentGetRoomCategoriesList(Fragment fragment);

    /**
     * Returns the room name
     * 
     * @param fragment
     * @return returns current room name
     */
    public String fragmentGetRoomName(Fragment fragment);

    /**
     * Returns the image of room
     * 
     * @param fragment
     * @return the image of room
     */
    public Bitmap fragmentGetRoomBitmap(Fragment fragment);

    /**
     * @param fragment
     * @return
     */
    public String fragmentGetRoomDescription(Fragment fragment);
}
